﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace MoPhongThuatToan
{
    class Dinh
    {
        private PointF pointF;
        private int dinh;

        public int Dinh1
        {
          get { return dinh; }
          set { dinh = value; }
        }

        public float X
        {
            get { return pointF.X; }
            set { pointF.X = value; }
        }
        public float Y
        {
            get { return pointF.Y; }
            set { pointF.Y = value; }
        }
        public Dinh()
        {
            Dinh1 = 0;
        }
        public Dinh(float X, float Y, int Dinh)
        {
            this.pointF = new PointF(X, Y);
            this.Dinh1 = Dinh;
        }
        public bool KiemTraKhoangCach(PointF p)
        {
            double kc = Math.Sqrt((p.X - X) * (p.X - X) + (p.Y - Y) * (p.Y - Y));
            if (kc <= 12)
                return true;
            return false;
        }
        public void VeDinh(Graphics G)
        {
            //tăng chất lượng vẽ
            G.SmoothingMode = SmoothingMode.HighQuality;
            //tạo nét vẽ (sử dụng vẽ đường viền elip)
            Pen bluePen = new Pen(Color.Blue, 2);
            //tạo cọ tô (sử dụng tô elip)
            SolidBrush redBrush = new SolidBrush(Color.Red);
            //tạo font chữ(dùng tạo kiểu chữ add vào elip)
            Font KieuChu = new Font(FontFamily.GenericSerif, 14, FontStyle.Bold, GraphicsUnit.Pixel, 8, false);
            //tạo hình chữ nhật (khung HCN bao quanh elip)
            float x = X - 10;
            float y = Y - 10;
            int ChieuCao = 25;
            int ChieuRong = 25;
            Rectangle HinhChuNhat = new Rectangle((int)x, (int)y, ChieuRong, ChieuCao);
            //tô elip
            G.FillEllipse(redBrush, x, y, ChieuRong, ChieuCao);
            //vẽ đường viền cho elip
            G.DrawEllipse(bluePen, x - 1, y - 1, ChieuRong + 2, ChieuCao + 2); ;
            //ghi số lên hình elip
            G.DrawString(dinh.ToString(), KieuChu, Brushes.White, X + 4f - 12, Y + 4f - 12);
        }
    }
}
